"""
1.函数定义

def 函数名():
    函数体

"""
def test():
    print("test")

test()


"""
2.函数参数和返回值

返回值


"""
def add(a, b):
    """此处注释等于给函数编写了文档"""
    return a+b
c = add(1, 2)
print(c)
print(add.__doc__) # 此处注释等于给函数编写了文档


"""函数名
"""
# 函数名的内存地址
def test():
    print("test")
print(test) # <function test at 0x000000000221E048>

# 函数名可以赋值给其他变量
a = test
a() #test

# 函数名可以作为容器类的元素
def test1():
    print("test1")
def test2():
    print("test2")
def test3():
    print("test3")
lst = [test1, test2, test3]
for i in lst:
    i() # 调用函数

# 函数名可以作为函数的参数
def test4(fn):
    fn()
    print("test4")
test4(test)


# 函数名可以作为返回值
def test5():
    print("test5")
    def test6():
        print("test6")
    return test6
t = test5()
t()